package com.lmaye.design.patterns.ood.dip;

/**
 * -- 依赖倒转原则 (Dependency Inversion Principle)
 * : 高层模块不应该依赖低层模块，二者都应该依赖其抽象；抽象不应该依赖细节；细节应该依赖抽象。即针对接口编程，不要针对实现编程
 *
 * <pre>
 *     传递依赖关系的三种传递方式
 *     1. 接口传递；
 *     2. 构造方法传递；
 *     3. set方法传递；
 *     ------------------------------------------
 *     注意事项和细节:
 *     - 低层模块尽量都要有抽象类或接口，或者两者都有。
 *     - 变量的声明类型尽量是抽象类或接口。
 *     - 使用继承时遵循里氏替换原则。
 * </pre>
 *
 * @author lmay.Zhou
 * @date 2020/11/12 16:52 星期四
 * @qq 379839355
 * @email lmay@lmaye.com
 * @since JDK1.8
 */
public class DependencyInversionPrinciple {
}
